package com.lou.springboot.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import org.apache.commons.io.FileUtils;

@Controller
public class UploadController {

    //private final static String FILE_UPLOAD_PATH = "D:\\upload\\";
    private final static String FILE_UPLOAD_PATH = "/home/project/upload/";
    private Object FileUtils;

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    @ResponseBody
    public String upload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
            return "上传失败";
        }
        String fileName = file.getOriginalFilename();
        String suffixName = fileName.substring(fileName.lastIndexOf("."));
        //生成文件名称通用方法
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
        Random r = new Random();
        StringBuilder tempName = new StringBuilder();
        tempName.append(sdf.format(new Date())).append(r.nextInt(100)).append(suffixName);
        String newFileName = tempName.toString();
        try {
            //当前项目下路径
            File file2 = new File("");
            String filePath = file2.getCanonicalPath();

            String path1 = System.getProperty("user.dir");
            String nowPath = path1 + File.separator + "project" + File.separator + "upload";

            File file3 = new File(nowPath);
            if (!file3.exists()) {
                file3.mkdirs();
            }
            // 保存文件
            byte[] bytes = file.getBytes();
//            file.getInputStream()

//           FileUtils(new File("pathname"), myByteArray);

            // FileUtil.saveFile(bytes,file3.getPath(),newFileName);

            File f = new File(nowPath + File.separator + newFileName);
            file.transferTo(f);
            f.createNewFile();





        } catch (IOException e) {
            e.printStackTrace();
        }
        return "上传成功，图片地址为：/files/" + newFileName;
    }


}